#ifndef __PAINT_BUCKET_BLOCK_H__
#define __PAINT_BUCKET_BLOCK_H__

#include "Block.hpp"

namespace PocketSurvival
{
    // 颜料桶
    class PaintBucketBlock : public Block
    {
    public:
        static constexpr int32_t Index()
        {
            return 129;
        }
        virtual int32_t getIndex() override; 
        virtual const std::string &getBlockName() override;

        virtual void getCreativeValues(std::vector<int32_t> &blockVec) override;
        virtual int32_t getDamageDestructionValue(int32_t value) override;

		static inline int32_t GetColor(int32_t data);
		static inline int32_t SetColor(int32_t data, int32_t color);
        static int32_t CombineColors(int32_t color1, int32_t color2);
    };

    inline int32_t PaintBucketBlock::GetColor(int32_t data)
	{
		return data & 0xF;
	}
	inline int32_t PaintBucketBlock::SetColor(int32_t data, int32_t color)
	{
		return (data & -16) | (color & 0xF);
	}

} // namespace PocketSurvival


#endif
